package Modelo.Despesa;

import java.util.Calendar;

public class Despesa {
	
	private long codEvento;
	private int nroEdicao;
	private long codDespesa;
	private String cnpjPatrocinador;
	private long codEventoPatrocinio;
	private int nroEdicaoPatrocinio;
	private Calendar dataDespesa;
	private float valorDespesa;
	private String descricaoDespesa;
	private String tipoDespesa;
	
	

	public Despesa(Calendar dataDespesa, float valorDespesa,
			String descricaoDespesa, String tipoDespesa) {
		super();
		this.dataDespesa = dataDespesa;
		this.valorDespesa = valorDespesa;
		this.descricaoDespesa = descricaoDespesa;
		this.tipoDespesa = tipoDespesa;
	}

	public Despesa(long codDespesa) {
		super();
		this.codDespesa = codDespesa;
	}

	public Despesa()
	{
		
	}
	
	public Despesa(long codEvento, int nroEdicao, long codDespesa,
			String cnpjPatrocinador, long codEventoPatrocinio,
			int nroEdicaoPatrocinio, Calendar dataDespesa, float valorDespesa,
			String descricaoDespesa, String tipoDespesa) {
		super();
		this.codEvento = codEvento;
		this.nroEdicao = nroEdicao;
		this.codDespesa = codDespesa;
		this.cnpjPatrocinador = cnpjPatrocinador;
		this.codEventoPatrocinio = codEventoPatrocinio;
		this.nroEdicaoPatrocinio = nroEdicaoPatrocinio;
		this.dataDespesa = dataDespesa;
		this.valorDespesa = valorDespesa;
		this.descricaoDespesa = descricaoDespesa;
		this.tipoDespesa = tipoDespesa;
	}

	public Despesa(int nroEdicao, String cnpjPatrocinador,
			long codEventoPatrocinio, int nroEdicaoPatrocinio,
			Calendar dataDespesa, float valorDespesa, String descricaoDespesa,
			String tipoDespesa, long codEvento) {
		super();
		this.nroEdicao = nroEdicao;
		this.cnpjPatrocinador = cnpjPatrocinador;
		this.codEventoPatrocinio = codEventoPatrocinio;
		this.nroEdicaoPatrocinio = nroEdicaoPatrocinio;
		this.dataDespesa = dataDespesa;
		this.valorDespesa = valorDespesa;
		this.descricaoDespesa = descricaoDespesa;
		this.tipoDespesa = tipoDespesa;
		this.codEvento = codEvento;
	}
	
	
	
	public int getNroEdicao() {
		return nroEdicao;
	}
	public void setnEdicao(int nEdicao) {
		this.nroEdicao = nEdicao;
	}
	public long getCodDespesa() {
		return codDespesa;
	}
	public void setCodDespesa(int codDespesa) {
		this.codDespesa = codDespesa;
	}
	public String getCnpjPatrocinador() {
		return cnpjPatrocinador;
	}
	public void setCnpjPatrocinador(String cnpjPatrocinador) {
		this.cnpjPatrocinador = cnpjPatrocinador;
	}
	public long getCodEventoPatrocinio() {
		return codEventoPatrocinio;
	}
	public void setCodEventoPatrocinio(long codEventoPatrocinio) {
		this.codEventoPatrocinio = codEventoPatrocinio;
	}
	public int getNroEdicaoPatrocinio() {
		return nroEdicaoPatrocinio;
	}
	public void setNroEdicaoPatrocinio(int nroEdicaoPatrocinio) {
		this.nroEdicaoPatrocinio = nroEdicaoPatrocinio;
	}
	public Calendar getDataDespesa() {
		return dataDespesa;
	}
	public void setDataDespesa(Calendar dataDespesa) {
		this.dataDespesa = dataDespesa;
	}
	public float getValorDespesa() {
		return valorDespesa;
	}
	public void setValorDespesa(float valorDespesa) {
		this.valorDespesa = valorDespesa;
	}
	public String getDescricaoDespesa() {
		return descricaoDespesa;
	}
	public void setDescricaoDespesa(String descricaoDespesa) {
		this.descricaoDespesa = descricaoDespesa;
	}
	public String getTipoDespesa() {
		return tipoDespesa;
	}
	public void setTipoDespesa(String tipoDespesa) {
		this.tipoDespesa = tipoDespesa;
	}
	public long getCodEvento() {
		return codEvento;
	}
	public void setCodEvento(long codEvento) {
		this.codEvento = codEvento;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime
				* result
				+ ((cnpjPatrocinador == null) ? 0 : cnpjPatrocinador.hashCode());
		result = prime * result + (int) (codDespesa ^ (codDespesa >>> 32));
		result = prime * result + (int) (codEvento ^ (codEvento >>> 32));
		result = prime * result
				+ (int) (codEventoPatrocinio ^ (codEventoPatrocinio >>> 32));
		result = prime * result
				+ ((dataDespesa == null) ? 0 : dataDespesa.hashCode());
		result = prime
				* result
				+ ((descricaoDespesa == null) ? 0 : descricaoDespesa.hashCode());
		result = prime * result + nroEdicao;
		result = prime * result + nroEdicaoPatrocinio;
		result = prime * result
				+ ((tipoDespesa == null) ? 0 : tipoDespesa.hashCode());
		result = prime * result + Float.floatToIntBits(valorDespesa);
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Despesa other = (Despesa) obj;
		if (cnpjPatrocinador == null) {
			if (other.cnpjPatrocinador != null)
				return false;
		} else if (!cnpjPatrocinador.equals(other.cnpjPatrocinador))
			return false;
		if (codDespesa != other.codDespesa)
			return false;
		if (codEvento != other.codEvento)
			return false;
		if (codEventoPatrocinio != other.codEventoPatrocinio)
			return false;
		if (dataDespesa == null) {
			if (other.dataDespesa != null)
				return false;
		} else if (!dataDespesa.equals(other.dataDespesa))
			return false;
		if (descricaoDespesa == null) {
			if (other.descricaoDespesa != null)
				return false;
		} else if (!descricaoDespesa.equals(other.descricaoDespesa))
			return false;
		if (nroEdicao != other.nroEdicao)
			return false;
		if (nroEdicaoPatrocinio != other.nroEdicaoPatrocinio)
			return false;
		if (tipoDespesa == null) {
			if (other.tipoDespesa != null)
				return false;
		} else if (!tipoDespesa.equals(other.tipoDespesa))
			return false;
		if (Float.floatToIntBits(valorDespesa) != Float
				.floatToIntBits(other.valorDespesa))
			return false;
		return true;
	}
	
	
}
